why does America have a two party system